package com.thwj.project.pay.domain;

    import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.thwj.common.annotation.Excel;
import lombok.*;

import java.io.Serializable;
import java.util.Date;

;

/**
 * 微信支付回调信息对象 wx_callback_info
 *
 * @author generate
 * @date 2023-06-10
 */

@Getter
@Setter
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("wx_callback_info")
public class WxCallbackInfo extends Model<WxCallbackInfo>{
private static final long serialVersionUID=1L;

    /** 主键 */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 原始回调结果 */
            @Excel(name = "原始回调结果")
    private String backData;

    /** 支付成功时间 */
            @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
            @Excel(name = "支付成功时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date backTime;

    /** 小程序ID */
            @Excel(name = "小程序ID")
    private String appid;

    /** 商户号 */
            @Excel(name = "商户号")
    private String muchId;

    /** 随机字符串 */
            @Excel(name = "随机字符串")
    private String nonceStr;

    /** 签名 */
            @Excel(name = "签名")
    private String sign;

    /** 业务结果 */
            @Excel(name = "业务结果")
    private String resultCode;

    /** 用户标识 */
            @Excel(name = "用户标识")
    private String openid;

    /** 是否关注公众账号 */
            @Excel(name = "是否关注公众账号")
    private String isSubscribe;

    /** 交易类型 */
            @Excel(name = "交易类型")
    private String tradeType;

    /** 付款银行 */
            @Excel(name = "付款银行")
    private String bankType;

    /** 订单金额 */
            @Excel(name = "订单金额")
    private Integer totalFee;

    /** 现金支付金额 */
            @Excel(name = "现金支付金额")
    private Integer cashFee;

    /** 微信支付订单号 */
            @Excel(name = "微信支付订单号")
    private String transactionId;

    /** 商户订单号 */
            @Excel(name = "商户订单号")
    private String outTradeNo;

    /** 支付完成时间 */
            @Excel(name = "支付完成时间")
    private String timeEnd;

    /** 商家数据包 */
            @Excel(name = "商家数据包")
    private String attach;

    /** 返回状态码 */
            @Excel(name = "返回状态码")
    private String returnCode;

    /** 返回信息 */
            @Excel(name = "返回信息")
    private String returnMsg;

    /** 错误代码 */
            @Excel(name = "错误代码")
    private String errCode;

    /** 错误代码描述 */
            @Excel(name = "错误代码描述")
    private String errCodeDes;

    /** 设备号 */
            @Excel(name = "设备号")
    private String deviceInfo;




    @Override
    public Serializable pkVal() {
        return this.id;
    }
}
